import request from '@/utils/request'

/**
 * 上传商品类别
 * @param {number} id - 商品ID
 * @param {FormData} data - 类别数据（FormData格式）
 * @returns {Promise}
 */
export function uploadCategory(id, data) {
  // 确保ID是有效的
  if (!id) {
    return Promise.reject(new Error('商品ID不能为空'));
  }
  
  return request({
    url: `/api/v1/products/strategy/${id}`,
    method: 'post',
    data: data,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

/**
 * 获取商品类别列表
 * @param {object} query - 查询参数
 * @returns {Promise}
 */
export function listProductCategories(query) {
  return request({
    url: '/api/v1/categories/product/list',
    method: 'get',
    params: query
  })
}

/**
 * 获取商品类别详情
 * @param {number} id - 类别ID
 * @returns {Promise}
 */
export function getProductCategory(id) {
  return request({
    url: `/api/v1/categories/product/${id}`,
    method: 'get'
  })
}

/**
 * 获取商品类别标签详情
 * @param {number} id - 商品ID
 * @returns {Promise}
 */
export function getCategoryDetail(id) {
  return request({
    url: `/api/v1/products/detail/${id}`,
    method: 'get'
  })
}

/**
 * 删除商品类别
 * @param {number|Array} ids - 类别ID或ID数组
 * @returns {Promise}
 */
export function delProductCategory(ids) {
  return request({
    url: '/api/v1/categories/product',
    method: 'delete',
    data: Array.isArray(ids) ? { ids } : { ids: [ids] }
  })
}
